Context sensitive backlight

ABSTRACT

Systems and methods for controlling the lighted display of a mobile device are disclosed. The backlight of or active power supplied to a display is reduced or deactivated after a certain period based on the application running on the mobile device, rather than being a uniform deactivation time. The system and method can be used on a variety of mobile devices having a display screen.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of and claims priority toU.S. application Ser. No. 15/149,696, filed on May 9, 2016, now U.S.Pat. No. 10,049,624, which is a continuation of U.S. application Ser.No. 13/918,534, filed on Jun. 14, 2013, now U.S. Pat. No. 9,338,269,which is a continuation of U.S. application Ser. No. 12/044,323, filedon Mar. 7, 2008, now U.S. Pat. No. 8,487,918, the entire contents ofeach of which are hereby incorporated by reference.

TECHNICAL FIELD

This document describes systems and techniques for modifying thebacklight intensity of an electronic device, and more particularly forhand-held electronic devices such as electronic assistants, cell phones,and hybrid devices.

BACKGROUND

As the number and usefulness of electronic devices, particularlyhand-held electronic devices, has increased, the powerconsumption/battery life of these devices has become an importantaspect. Users, having more applications and computing power available,are using the devices for longer periods of time, and for a widervariety of uses. This has led to increased demand for longer periods ofactive operability before power failure, or longer periods betweenbattery recharging.

One facet of the operability period is the extent to which the device isin active mode as opposed to standby mode. For example, a simple cellphone may be in active mode only when the keys are being pressed, a callis being made, or an incoming call is received, while the remainder ofthe time the simple phone may be in standby mode.

However, with increased functionality and applications, a user may use amore complex electronic device, such as a hand-held device or advancedcell phone, for a number of purposes. The more complex electronicdevices may be used as a camera, to access weather or traffic reports,for telephone calls, to access the internet, to send and receive textmessages, to check email, to play games, and for a variety of otherpossible uses. These uses all generally require that the electronicdevice be in active mode, and such increased use can shorten theeffective period of operability before a battery recharge is required.

SUMMARY

One of the major power consumption features of an electronic device isthe display. Electronic devices, such as a hand-held device or cellphone, may have a display that “lights up” or brightens (typically by abacklight or similar feature) when the device is in active mode. Inorder to save power, it is helpful to have the device only in activemode when it is actually in use by the user, and in standby mode(including a darkened display) when not in use. Current devices, such ascell phones, typically use a single delay time to put the device instandby mode following the last key press or the termination of a call.With an increasing variety of applications accessible on electronicdevices, such a simple approach can lead to errors and user aggravation.For example, a web page may be called up on the device and the user maybe reviewing the information. A set delay, measure from the time sincethe last key press, might darken the screen while the user is still inthe middle of reviewing the information.

Systems and techniques are described here for controlling the reductionor deactivation of a backlight in an electronic device based on thecurrent application operating on the device. Small electronic devicesthat include displays, such as an electronic assistant, a mobile phone,or other types of hand-held portable devices, can be used in a varietyof locations with various lighting conditions. In order for the displayon the electronic device to be easily read, the device can includebacklighting that can allow for increased illumination of the displayresulting in improved legibility. Many of these portable electronicdevices can include a rechargeable battery as their power source, whichcan limit the period of active operability of the device between batterycharges.

In one implementation, a computer-implemented method forcontext-sensitive lighting control of a display is describe thatincludes identifying an active application on a computing device,determining an expiration time that varies based on characteristics ofthe active application, confirming that no change in activity occurswhile the expiration time period is passing, and reducing the lightingof a display upon the occurrence of the expiration time.

In certain aspects, the method may further include classifying theactive application, and wherein the expiration time is calculated basedon the application classification. Determining an expiration time mayfurther include determining a position of movement of the device anddetermining the expiration time on the position of movement in additionto the characteristics of the active application. Determining anexpiration time may include associating the application with a class ofapplications and obtaining an expiration time for the class ofapplication.

In some aspects, reducing the lighting of a display may includeextinguishing the backlighting of the display, or may include reducingthe power provided to an active powered display. Confirming that nochange in activity occurs while the expiration time period is passingmay include confirming the lack of user input received by the device.The display may be the display of a hand-held electronic device.

In other aspects, the method may further include determining a keypadexpiration time that varies based on characteristics of the activeapplication, confirming that no change in activity occurs while thekeypad expiration time period is passing, and reducing the lighting of akeypad upon the occurrence of the keypad expiration time. The method mayalso include overriding the reduction of the keypad expiration time suchthat the lighting of the keypad is not reduced upon passage of thekeypad expiration time, and such override is based upon additionalinformation concerning a specific instance of the running application.The specific instance of a running application may include a connectionor connection attempt to a specified phone number.

In another implementation, a computer-implemented system is describedthat includes a display having a fully lighted mode and a less thanfully lighted mode, an input interface to monitor the receipt of inputto a device, a response generator to obtain an expiration time based onthe active application of a device, wherein the expiration time variesbased on the application, and a processor to measure the passage of timeand confirm a lack of additional inputs during passage of the expirationtime, and to instruct the display to change from fully lighted mode toless than fully lighted mode upon the passage of the expiration time.The system may further include a keypad having a fully lighted mode anda less than fully lighted mode, and wherein the processor also instructsthe keypad to change from fully lighted mode to less than fully lightedmode upon the passage of a certain time.

In certain aspects, the input interface may receive informationincluding the type of input received. The fully lighted mode may includethe backlight being on and the less than fully lighted mode may includethe backlight being off, or the fully lighted mode may include thebacklight being fully powered and the less than fully lighted mode mayinclude the backlight being less than fully powered.

In another implementation, a computer-implemented method forcontext-sensitive backlight deactivation is described that includesdeactivating the backlight of a mobile display after a time delay thatis based on the application running on the mobile device. The time delaymay be calculated based on the type of application running. The timedelay may include input from the user of the mobile device. Theapplication running on the mobile device may include the activeapplication displayed on the device display.

In another implementation, a computer-implemented method forcontext-sensitive lighting control of a display is described thatincludes identifying an active application on a computing device,determining an expiration time that varies based on characteristics ofthe active application, confirming that no change in activity occurswhile the expiration time period is passing, reducing the lighting of adisplay upon the occurrence of the expiration time period, continuing tomonitor for user input for an additional period of time, and determininga new expiration time period if user input is received during theadditional period of time, wherein the new expiration time period isbased on the time period until user input was received followingtermination of the expiration time.

In certain aspects, determining the new expiration time period mayinclude adding a calculated value to the expiration time period todetermine the new expiration time period. The calculated value may bebased on an exponential function including the time period until userinput was received following termination of the expiration time period.

The details of one or more embodiments are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

DESCRIPTION OF DRAWINGS

FIGS. 1A-1F show a number of scenarios in which a user can use a mobiledevice.

FIGS. 2A-2G show a number of simplified display screens that can beviewed on a mobile device.

FIG. 3 is a flow diagram illustrating one example of a flow process todetermine the control of the backlighting of a display on a mobiledevice.

FIG. 4 is a schematic representation of an exemplary mobile device thatimplements embodiments of the backlighting control described herein.

FIG. 5 is a block diagram illustrating the internal architecture of thedevice of FIG. 4.

FIG. 6 is a block diagram illustrating exemplary components of theoperating system used by the device of FIG. 4.

FIG. 7 is a block diagram illustrating exemplary processes implementedby the operating system kernel of FIG. 6.

FIG. 8 shows an example of a computer device and a mobile computerdevice that can be used to implement the techniques described here.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

Portable electronic devices can include electronic assistants, mobilephones, or any other type of portable handheld devices. In one aspect, auser can hold or view the device, and enter input via a keyboard and/orpointing device to command the device to perform a desired function.Generally, such devices can perform various functions, including, butnot limited to, making and receiving phone calls; web searching; webbrowsing; gaming; accessing online mapping services; managing a contactslist; and managing electronic mail. An example of a mobile device thatcan perform these and many other functions will be described in moredetail with respect to FIG. 4.

In all cases where backlighting is discussed or described, suchdiscussion also includes other comparable and equivalent displays. Forexample, rather than a backlight, the display may be an active matrixdisplay wherein the brightness of a display is controlled by the amountof power supplied to the screen such that there is an active, brighterscreen state, as well as a less active, reduced brightness state.

The use of backlighting can contribute to the amount of power drainedfrom the device's battery. Therefore, it may be desirable to limit theamount of time the display is backlit. The backlighting may be reducedor turned off in response to device instructions. When the backlightingis reduced, it may be reduced in stages, or entirely at once. There maybe two levels of backlighting (on/off), three levels (off, mediumintensity, full intensity), higher multiple levels, or may feature acontinuous/semi-continuous level control (dimmer-like).

The display may be backlit to improve visibility of the display, and toenable the user to have a better experience with the device and to beable to use the device in low-light conditions, etc. Backlighting of thedisplay can be limited to occasions when the user needs to view thedisplay in order to operate the device, or view information provided bythe device. At other times, backlighting can be reduced or inactive,conserving battery power. Therefore, it can be beneficial for theelectronic device to determine whether or not to activate displaybacklighting, and the amount of time the backlighting remains active, bydetermining the current mode of operation of the device.

The keypad may be backlit to improve visibility of the keys and toenable the user to have a better experience with the device and to beable to use the device in low-light conditions, etc. Backlighting of thekeypad may be limited to occasions when the keypad is being used, butmay be reduced or inactive to conserve battery power at other times.Therefore, it can be beneficial for the electronic device to determinewhether or not to activate keypad backlighting, and the amount of timethe keypad backlighting remains active, by determining the current modeof operation of the device.

The backlighting for the display and keypad may be independentlycontrolled. Therefore, at times, the system may determine that thedisplay backlight should remain active while the keypad backlight isreduced or inactive. As an example—when an address is entered, thedevice may determine that the display backlight should remain active fora longer period of time than the keypad backlight, as the user will befollowing the map for direction, but not have further need of enteringkey strokes.

In operating modes in which the device is executing an application thatmay require constant and/or frequent use of the display, the displaybacklighting can remain active until the application is no longerrunning on the device, or until a expiration time passes. Basing theactive time of the display or keypad backlighting on the operating modeor active application of the electronic device may help insure that theuser will have ample time to view the contents of the display withoutthe need to manually (e.g., a key press) reactivate the displaybacklighting. However, by also incorporating an expiration time, thebacklighting will not remain active for a prolonged period of timeresulting in significant battery power consumption.

A user can initiate an application on a mobile device to perform adesired function. For example, a phone application can be initiated andrun that can allow the user to make phone calls using the mobile device.It can be beneficial if the display screen and keypad of the mobiledevice can be easily viewed by the user in order for them to initiateand run the application. Also, it may be desirable for the user to viewthe display screen while the application is performing the selectedfunction. However, viewing the keypad throughout the time period ofperforming the selected function may not be as important. However, theamount of time the user may need to view the display screen can varywidely dependent upon the function being performed. For example, thedisplay screen can be viewable while a user is entering a phone number,when making a phone call, but need not be viewable while they aretalking on the phone.

Furthermore, the time that a keypad may remain backlit may vary withinthe type of function being performed or application running.

In another example, the display screen can be viewable during the timeneeded to access and view an online map as well as a period of timeafter the map is displayed in order for the user to identify a route tofollow or to check their desired destination. As uses and needs aredifferent, the amount of time needed for a user to utilize oneapplication can be less than that for a different application.

The display screen backlighting can be controlled to better enableactive backlighting while the user needs to view the display screen andreduced/inactive at times when this is no longer necessary. Asdescribed, however, this period of time can be different dependent uponthe function being performed by the mobile device. Therefore, a mobiledevice that can control the activation and deactivation of thebacklighting of a display screen can conserve battery power whileallowing the user the ability to view their display screen for adesirable period of time for the mobile device function being performed.

In another aspect, the backlighting of either the display or keypad maybe modified based on the response of the user. For example, once thedevice has determined that the backlighting should be reduced or turnedoff, the device continues to monitor for the next keypad/keypress. Ifthis happens more rapidly than a determined time period for the currentfunction/application, the system will determine that the time delay wasinsufficient. This approach allows the device to determine that turningoff or reducing the backlighting likely interrupted or distracted theuser, and therefore the delay should be increased to reflect that theuser appears to be actively using the device. Therefore, the system willincrease the delay. In one approach, the device will increase the delaytime based on the speed of the user response, such as by using anexponential function to determine the desired increase.

As an example, if the mobile device is currently in a text messagingapplication and has determined an expiration delay time for the keypadand display backlighting. After the delay time passes since the lastinput or text message received, the device will reduce the backlighting.The device will continue to monitor the keypad for an additional time.This additional time may be a set period for any application (such as,for example, 10 seconds), may vary based on the application (such as,for example, 5 seconds for a phone application, 10 seconds for a textmessaging application), or may be based on the determined expirationdelay time (such as, for example, 50% of the delay time, or equal to thedelay time). If the user presses a key during this additional monitoringperiod, the system will restore the backlighting, and also furtherdetermine that the expiration delay time previously used wasinsufficient and incorrect. The expiration delay time will then berecomputed based on the additional information of how long the user tookto respond or press an additional key.

In one approach, the increase in expiration time will vary based on theactual time that the user required for the additional keypress. Thus, inone calculation, the faster that the user responded following thebacklighting reduction, the closer the recalculated time will match theactual user required time. For example, if the user responded 1 secondafter the backlighting was reduced, the recomputed delay time will beincreased nearly 1 second over the prior delay time. However, if theuser responded 10 seconds after the backlighting was reduced, the useris likely less active/may be an erroneous press/etc., and so therecomputed delay time will be increased by less than 10 seconds, andperhaps significantly less than 10 seconds. In one approach, theincrease in delay time will be based on an exponential calculation thatincludes the actual time that the user required for an additionalkeypress and the range of the additional time monitored.

In another approach, the recalculated time will be increased for longerperiods of time when there is a faster response time by the user. Forexample, if the user responds immediately following reduction of thebacklighting, the device will determine that the user is very active andincrease the backlight expiration time by a large amount (such as, forexample, a 50% or 100% time period increase), while if the user respondsmore slowly, such as near the end of the monitoring time, the devicewill determine that the user is not very active and will increase theexpiration time only a small amount (such as, for example, by 5%). Inone approach, the time period increase is based on an exponentialfunction of the time period that the user allowed to pass. The functionmay also include the previous calculated expiration delay time, or thedefault expiration delay time for the application currently running onthe device.

FIG. 1 shows a number of scenarios in which a user can use a mobiledevice.

FIG. 1A shows a scenario in which a user 102 can make and receive phonecalls on a mobile device 104. For example, the user 102 can activate aphone application on the mobile device 102. As shown in FIG. 1A, thebacklighting of the display 106 can be active, as shown on screen 107,when the user 102 is initiating the phone call (e.g., entering the phonenumber). A period of time later, when the user 102 is talking on themobile device 104, the backlighting of the display 106 can be inactive,as shown on screen 109. The control of the backlighting (the amount oftime 105 it is activated) can be based on the application being run bythe mobile device (e.g., the phone application). The backlighting of thekeypad may also be controlled at the same time or separately from thedisplay backlighting. For example, the keypad backlight may be activewhen the user is initiating the call, and then reduced when theconnect/call button is pressed.

As another example, some phone calls may require no additional keypaduse once the phone number has been entered and the call/connect buttonpressed on the phone. However, other types of phone calls may requireadditional use of the keypad (e.g. when calling an automated phonesystem, when calling for stock quotes or game scores, etc.). Therefore,in one aspect, the mobile device may determine that a phone call to acertain number may require additional keypad use. The device maydetermine this by receiving a signal from the system associated with thephone number called, or the device may retain information in memory thatis associated with prior phone numbers dialed. For example, whenadditional key presses are used during a call to a specified phonenumber, the device may store that information, and when that specifiednumber is called in the future, the device may keep the keypad backlitduring the call rather than reducing the backlight. Alternatively, thedevice may only reduce the keypad backlight during the call to thatnumber rather than turning the backlighting off.

FIG. 1B shows a scenario in which a user 111 can search the web on amobile device 110. For example, the user 111 can activate a searchapplication on the mobile device 110. As shown in FIG. 1B, thebacklighting of the display 112 can be active, as shown on screen 113,while the user 111 is searching the web (e.g., entering a web pageaddress, viewing web page content, etc.). A period of time later, thebacklighting of the display 112 can be set to inactive, as shown onscreen 115. The control of the backlighting (the amount of time 114 itis activated) can be based on the application being run by the mobiledevice (e.g., searching application). As shown in FIG. 1B, thebacklighting activation time 114 can be greater than the activation time105 as the amount of time a user may browse the web can be greater thanthe amount of time needed to initiate a phone call. The backlighting ofthe keypad may also be controlled at the same time or separately fromthe display backlighting. For example, the keypad backlight may beactive when the user is typing, and then reduced after a short timewhile the search results are displayed.

FIG. 1C shows a scenario in which a user 116 can be composing andsending a text message on a mobile device 118. For example, the user 116can activate a text messaging application on the mobile device 118. Asshown in FIG. 1C, the backlighting of the display 120 can be active, asshown on screen 121, while the user 116 is initiating and composing atext message (e.g., selecting a phone number to send the text messageto, entering the text, sending the message, etc.). A period of timelater, when the text message has been composed and sent, thebacklighting of the display 120 can be inactivated, as shown on screen123. The control of the backlighting (the amount of time 122 it isactivated) can be based on the application being run by the mobiledevice (e.g., text messaging). As shown in FIG. 1C, the backlightactivation time 122 can be greater than the activation time 105 as theamount of time a user may need to compose and send a text message can begreater than the amount of time needed to initiate a phone call. Thebacklighting of the keypad may also be controlled at the same time orseparately from the display backlighting. For example, the keypadbacklight may be active when the user is typing on the keypad, and thenreduced when the message is sent.

FIG. 1D shows a scenario in which a user 125 can be viewing a map andfollowing directions displayed on a mobile device 126. For example, theuser 125 can activate a map application on the mobile device 126. Asshown in FIG. 1D, the backlighting of the display 127 can be active, asshown on screen 128, as the user 125 is initiating the map applicationand viewing the map and directions (e.g., entering start and destinationlocations, zooming in to view details of the map, etc.). A period oftime later, the backlighting of the display 128 can be inactive, asshown on screen 129. The control of the backlighting (the amount of time130 it is activated) can be based on the application being run by themobile device (e.g., mapping application). As shown in FIG. 1D, thebacklight activation time 130 can be greater than the activation time105 as the amount of time a user may need to enter information into amapping application and view the resulting map and directions can begreater than the amount of time needed to initiate a phone call. Thebacklighting of the keypad may also be controlled at the same time orseparately from the display backlighting. For example, the keypadbacklight may be active when the user is typing, and then reduced afterthe map loads and the user is viewing the map information.

FIG. 1E shows a scenario in which a user 132 can be using a web browseron a mobile device 133. The user can use the web browser to enter theweb page address of a web site that can include online games. Forexample, the user can select a game and play it on the mobile device133. For example, the user 132 can activate a web browser application onthe mobile device 133. As shown in FIG. 1E, the backlighting of thedisplay 134 can be active, as shown on screen 135, while the user 132 isusing the web browser or playing an online game. A period of time later,when the user is no longer actively playing the online game or browsing,the backlighting of the display 134 can be inactive, as shown on screen136. The control of the backlighting (the amount of time 138 it isactivated) can be based on the application being run by the mobiledevice (e.g., web browser). As shown in FIG. 1E, the backlightactivation time 138 can be greater than the activation time 105 as theamount of time a user may need to use a web browser can be greater thanthe amount of time needed to initiate a phone call. The backlighting ofthe keypad may also be controlled at the same time or separately fromthe display backlighting. For example, the keypad backlight may beactive when the user is entering an address, and then reduced when thepage is loading or after is has loaded onto the display.

FIG. 1F shows a scenario in which a user 140 can be accessing, viewing,and sending email on a mobile device 141. For example, the user 140 canactivate an email application on the mobile device 141. As shown in FIG.1F, the backlighting of the display 142 can be active, as shown onscreen 143, while the user 140 is initiating and using the emailapplication (e.g., viewing, composing, and sending messages). A periodof time later, when the user is no longer actively managing their email,the backlighting of the display 142 can be inactive, as shown on screen144. The control of the backlighting (the amount of time 145 it isactivated) can be based on the application being run by the mobiledevice (e.g., email application). As shown in FIG. 1F, the backlightactivation time 145 can be greater than the activation time 105 as theamount of time a user may need to manage their email can be greater thanthe amount of time needed to initiate a phone call. The backlighting ofthe keypad may also be controlled at the same time or separately fromthe display backlighting. For example, the keypad backlight may beactive when the user is typing, and then reduced when the message issent, or when the user is reading the contents of an email.

As shown in FIGS. 1A-1F, the backlight activation time for a mobiledevice can vary dependent upon the application running on the mobiledevice. In some implementations, the activation time can be differentfor each mobile device function. In other implementations, the backlightactivation time for a mobile device can be different for differentgroups of applications (e.g., applications that involve web access).Similarly, the keypad backlight activation time may vary based on theapplication running on the mobile device. Variously, the display andkeypad backlights can be controlled together (such as when the deviceonly has a single backlight), or separately.

In some implementations, the backlight activation time can be “learned”by the mobile device by monitoring the amount of time a user may spendrunning a particular application and using an average value for thebacklight activation time. For example, a user may spend, on average, acertain period of time reading or writing a text message using a textapplication after opening a text message. The mobile device can learnthis by monitoring the use of a text messaging application by a userduring a fixed amount of time (e.g., two weeks), and using the averageamount of time as the amount of time to keep the backlight activated. Inother implementations, the user can manually program the amount of timefor the device to remain with an active backlight depending on theapplication. In other implementations, times can have a default settingfor each of various applications. For example, the backlight activationtime may also be based in part on user data acquired from other users ofthe application on mobile devices. For example, a service provider canprovide backlight expiration times for applications available on themobile device based upon past data of mobile device usage gathered froma multitude of mobile devices.

As another example, phone numbers what require additional keypressesduring a call may be learned by the system such that the keypad ismaintained with the backlight on, or alternatively with a higher degreeof backlighting than other numbers called.

As another example, the backlight activation timed can be modified basedon individual user performance. As described earlier, the keypad may bemonitored for a period of time after the backlighting has been reducedor turned off. If the user responds within this period (by a keypress,etc.) the device can learn that a longer backlight expiration timeshould be used for that application. The changed expiration time may bemaintained for that application session only, or the expiration time forthat application may be changed for all future uses of that application.

FIG. 2 shows a number of simplified display screens that can be viewedon a mobile device.

FIG. 2A shows a simplified display screen 206 that can be viewed on amobile device 202. Display screen 206 can include indicator elements.For example, the display screen 206 can include indicator elements suchas a new mail indicator 211, an active call indicator 212, a datastandard indicator 214, a signal strength indicator 215, a battery lifeindicator 216, and a clock 217, or other elements. Indicator elementswill be described in further detail with reference to FIG. 4. Thedisplay screen 206 also can include application icons representingvarious applications available to the user. Examples of such icons mayinclude a web browser application icon 219, a phone application icon220, a search application icon 221, a contacts application icon 222, amapping application icon 224, an email application icon 225, or otherapplication icons. Display screen 206 can additionally includeinformation the user may choose to display while the mobile device is inan inactive state (e.g., display information 227).

The backlighting of the display screen 206 can vary dependent upon userinteraction with the mobile device. For example, a user may pick up themobile device after it has not been used for a prolonged period of time.The display screen 206 may be dimmed (the backlighting is inactive), andthe user may wish to brighten the display for improved visibility. Insome implementations, the user can press a key on a keyboard or keypadto activate the backlighting on the display for easier viewing. Inimplementations where the mobile device is a flip phone, for example,the user may flip open the phone which can automatically activate thebacklighting. In other implementations, the mobile device may includevarious detectors and sensors for detecting a change in the mobiledevice usage (e.g., the device is moved, the device is picked up by theuser) and activating the backlighting responsive to this change. Inanother implementation, the mobile device may have just completed anactivity and the user immediately initiates another one. In this case,the display screen 206 may not be dimmed between activities as themobile device may not be inactive for a long enough period of timebetween applications.

The device may also include keypad backlighting that may be activated ina similar fashion to the activation of the display backlighting. Thekeypad backlighting may be reduced or turned off in a similar fashion tothe backlighting reduction of the display as discussed in the specificexamples below, or it may be controlled separately from the displaybacklighting. The keypad backlighting time may vary based on theapplication running on the device.

FIG. 2B shows simplified display screens 232, 234, 235 that can beviewed on mobile device 202 while it is running a phone application.Display screens 232, 234, 235 can be viewed on display screen 206 of themobile device 202 at different points in time when the phone applicationis running.

With reference to FIG. 2A, the user can select phone application icon220 to activate the phone application on the mobile device 202. Thephone application icon 220 on the mobile device 202 can be selectedusing a pointing device and/or keyboard to point to and select the icon.Once the phone application is activated, the phone application icon canbe highlighted to indicate it is active. Screen 232 can then be shown ondisplay screen 206, including box 230 and enlarged phone applicationicon 231. The user can use a pointing device and/or keyboard to entercommands and data to operate and control the phone application. As isshown on screen 232, the user can be presented with an area 233 on thescreen 232 where a phone number can be entered.

Upon selection and activation of the phone application, the mobiledevice 202 can determine how long to keep the backlighting of displayscreen 206 active. The time can be based on a typical user placing aphone call on a mobile device. Factors to consider can include, but arenot limited to, the amount of time it takes for a user to enter thephone number, and the amount of time a user may view the display to seeif the call is completed. The time may also be based on the typical timea user may desire to confirm the correct number was called after thelast key was pressed, or on other considerations. The mobile device cankeep the backlighting active for the determined amount of time, and thenit can deactivate the backlighting. This may help conserve batterypower, while decreasing errors and user frustration.

Screen 234 is an example of what may be shown on display screen 206 oncea call is in progress. Screen 234 can be displayed for the duration ofthe call. In some implementations, screen 234 may be displayed for aperiod of time with backlighting activated, and after an expiration timepasses, backlighting can be deactivated for the duration of the call(the display screen 206 is dimmed as shown by screen 235).

In some implementations, once the call has been terminated (the userand/or the called party terminate the call or are disconnected), themobile device 202, aware of this event, can choose to reactivate thedisplay backlighting. This can allow a user increased display legibilityto select and activate another mobile device application. In someimplementations, the reactivation of the backlighting on calltermination can be a user selectable parameter in a mobile deviceconfiguration file. In other implementations, the mobile device maychoose to always reactivate the backlighting upon call termination. Inother implementations, the mobile device may choose not to reactivatethe backlighting.

FIG. 2C shows simplified display screens 240, 241, 242 that can beviewed on the mobile device 202 while it is running a searchapplication. Display screens 240, 241, 242 can be viewed on displayscreen 206 of the mobile device 202 at different points in time whilethe search application is running.

With reference to FIG. 2A, the user can select search application icon221 to activate the search application on the mobile device 202. Thesearch application icon 221 on the mobile device 202 can be selected andthe search application activated in a similar manner as described inFIG. 2B. The search application icon 221 can then be highlighted (e.g.,use of box 243 and enlarged phone application icon 244) indicating it isactive, as shown in FIG. 2C.

Screen 240 can be shown on display screen 206 upon activation of thesearch application. The user can then use a pointing device and/orkeyboard to enter commands and data to operate and control the searchapplication. As is shown on screen 240, the user is presented with anarea 245 on the screen 240 where they can enter a search query (e.g.,“New York Times”) in search box 248, and activate a corresponding searchinitiating control 247. Another screen (not shown) can be displayed tothe user showing one or more results that are responsive to the searchquery. The user can select a desired result from a list of web page URLs(e.g., www.nytimes.com), and the corresponding web page can be displayed(e.g. screen 241). The user can then read and examine the web page.

Upon selection and activation of the search application, the mobiledevice 202 can determine how long to keep the backlighting of thedisplay screen 206 active. In one approach, the determined time can bebased on a typical user entering a search query, selecting a desired webpage URL, and viewing the resulting web page. In another approach, thedetermined time can be measured from the last key press of the user, orfrom the time that the web page information is downloaded onto thedevice. Therefore, possible factors to consider can include, but are notlimited to, the amount of time it takes for a user to enter a searchstring query, the amount of time to complete the search and display theresults, the amount of time it takes the user to select a URL from theresults list, the amount of time it takes to retrieve and display thecorresponding web page, and the amount of time a user may take to reviewthe web page. The mobile device can keep the backlighting active for thedetermined amount of time, and then reduce/deactivate the backlighting.The backlighting may be deactivated at a point in time when the userwill no longer need to view the display (e.g., they have completed thereview of the web page). This approach may help conserve battery power,while decreasing errors and user frustration.

Screen 241 is an example of a web page that can be shown on displayscreen 206 once a user has selected a result from a search query. Screen241 can be displayed to the user for a period of time. Therefore, thebacklighting for display screen 206 can be activated for a period oftime to allow the user to read and review the screen 241, and then canbe deactivated (the display screen 206 can be dimmed as shown by screen242).

FIG. 2D shows simplified display screens 250, 251, 252 that can beviewed on the mobile device 202 while it is executing a text messagingapplication. Display screens 250, 251, 252 can be viewed on displayscreen 206 of the mobile device 202 at different points in time whilethe text messaging application is running.

With reference to FIG. 2A, the user can select contacts application icon222 to activate the contacts application on the mobile device 202. Thecontacts application icon 222 on the mobile device 202 can be selected,and the contacts application activated in a similar manner as describedin FIG. 2B. The contacts application icon 222 can then be highlighted(e.g., use of box 253 and enlarged contacts application icon 254)indicating it is active, as shown in FIG. 2D.

In some implementation, screens not shown in FIG. 2D, may be used toallow a user to search through their contacts list, and select anindividual contact to send a text message to. Screen 250 shows a nameand phone number of a selected contact in contact box 255 in an area 256included on the screen 250. The user can then elect to send the contacta text message. For example, a user may activate a drop down menu via adrop down menu key included on a keyboard of the mobile device. The dropdown menu can include a selection to send a text message to the contact.Selecting the text message option can result in screen 251 being shownon display screen 206.

The user can enter a text message (e.g., message 257) using the mobiledevice keyboard, for example. Upon completion of text entry, the usercan elect to send the text message. For example, the user may againactivate a drop down menu and select a send message option. In anotherexample, the user may activate the drop down menu and elect to store themessage as a draft, or delete the message.

Upon selection and activation of the contacts application, the mobiledevice 202 can determine how long to keep the backlighting of thedisplay screen 206 active. The amount of time the backlighting fordisplay screen 206 can be activated for a text messaging application canbe based on the time it takes a typical user to enter a standard lengthtext message. The mobile device can keep the backlighting active forthis amount of time, and then it can deactivate the backlighting. Thebacklighting may be deactivated at a point in time when the user will nolonger need to view the display (e.g., they have entered and sent thetext message).

FIG. 2E shows simplified display screens 260, 261, 262 that can beviewed on the mobile device 202 while it is running a mappingapplication. Display screens 260, 261, 262 can be viewed on displayscreen 206 of the mobile device 202 at different points in time whilethe mapping application is running.

With reference to FIG. 2A, the user can select mapping application icon224 to activate the mapping application on the mobile device 202. Themapping application icon 224 on the mobile device 202 can be selectedand the mapping application activated in a similar manner as describedin FIG. 2B. The mapping application icon can then be highlighted (e.g.,use of box 263 and enlarged mapping application icon 264) indicating itis active, as shown in FIG. 2E.

Screen 260 can be shown on display screen 206 upon activation of themapping application. The user can use the pointing device and/orkeyboard to enter commands and data to operate and control the mappingapplication. As shown on screen 260, the user can be presented with anarea 265 on the screen 260 where they can enter an address (e.g., “479Commonwealth Ave Boston, Mass.”) in search box 266, and activate acorresponding search initiating control 267. Screen 261 is an example ofa map that can be shown as a result of the search. In someimplementations, intermediate screens may be shown on display screen 206that can include multiple similar address location results for a user toselect from prior to receiving the resulting map.

Upon selection and activation of the mapping application, the mobiledevice 202 can determine how long to keep the display backlightingactive. This time can be based on a typical user entering an address,and viewing the resulting map. Factors to consider can include, but arenot limited to, the amount of time it takes a user to enter an address,the amount of time to complete the search and display the map, and theamount of time a user may take to review the map. The mobile device cankeep display backlighting active for this amount of time, and then, inorder to conserve battery power, it can reduce/deactivate thebacklighting. The backlighting may be deactivated at a point in timewhen the user no longer needs to view the display (e.g., they havecompleted the review of the map).

Screen 261 can be displayed to the user for a period of time. Therefore,the backlighting for display screen 206 can be activated for a period oftime to allow the user to read and review the screen 261, and then canbe deactivated, displaying screen 262.

FIG. 2F shows simplified display screens 270, 271, 272 that can beviewed on the mobile device 202 while it is running a web browserapplication. Display screens 270, 271, 272 can be viewed on displayscreen 206 of the mobile device 202 at different points in time whilethe web browser application is running.

With reference to FIG. 2A, the user can select web browser applicationicon 219 to activate the web browser application on the mobile device202. The web browser application icon 219 on the mobile device 202 canbe selected and the web browser application can be activated in asimilar manner as described in FIG. 2B. The web browser application iconcan then be highlighted (e.g., use of box 276 and enlarged web browserapplication icon 277) indicating it is active, as shown in FIG. 2F.

Screen 270 can be shown on display screen 206 upon activation of the webbrowser application. The user can then use a pointing device and/orkeyboard to enter commands and data to operate and control the webbrowser application. As shown on screen 270, the user can be presentedwith an area 273 on the screen 270 where they can enter a URL (e.g.,“www.miniclip.com”) in address box 274, and activate a correspondinginitiating control 275, that upon activation will display the web pageon a screen (not shown). The user can navigate the web page and select alink on the web page that can result in the displaying of another webpage as shown in screen 271 (e.g., selecting of the link to the bloxorzpuzzle on the miniclip web page). The user can then play the puzzlegame.

Upon selection and activation of the web browser application, the mobiledevice 202 can determine how long to keep the backlighting of thedisplay screen 206 active. The time can be based on a typical userentering a URL, and viewing the resulting web page. Factors to considercan include, but are not limited to, the amount of time it takes for auser to enter a URL, the amount of time it takes to retrieve and displaythe corresponding web page, and the amount of time a user may take toreview the web page.

In the implementation of FIG. 2F, backlighting for the display screen206 can remain active. The mobile device can keep the backlightingactive for this amount of time, and then the backlighting can bedeactivated. The backlighting may be deactivated at a point in time whenthe user will no longer need to view the display (e.g., they are doneplaying their game).

Screen 271 is an example of a screen that can be shown on display screen206 while a user is playing an online game. Other screens can bedisplayed as the user progresses through the game. The backlighting fordisplay screen 206 can be activated for a period of time to allow theuser to play the game for a reasonable amount of time, and then can bedeactivated (the display screen 206 can be dimmed as shown by screen272) to conserve battery power.

FIG. 2G shows simplified display screens 280, 281, 282 that can beviewed on the mobile device 202 while it is running an emailapplication. Display screens 280, 281, 282 can be viewed on displayscreen 206 of the mobile device 202 at different points in time whilethe email application is running.

With reference to FIG. 2A, the user can select email application icon225 to activate the email application on the mobile device 202. Theemail application icon 225 on the mobile device 202 can be selected andthe email application activated in a similar manner as described in FIG.2B. The email application icon can then be highlighted (e.g., use of box288 and enlarged email application icon 299) indicating it is active, asshown in FIG. 2G.

Screen 280 can be shown on display screen 206 upon activation of theemail application. The user can use a pointing device and/or keyboard toenter commands and data to operate and control the email application. Asshown on screen 280, the user can be presented with an area 283, wherethey can activate inbox control 284, contacts control 285, all mailcontrol 286, or compose control 287. In some implementations, the usermay be presented with additional controls for the email application. Forexample, in the implementation of FIG. 2G, the user can activate theinbox control 284, resulting in screen 281 that can be displayed ondisplay screen 206 of the mobile device 202.

Upon selection and activation of the email application, the mobiledevice 202 can determine how long to keep the backlighting of thedisplay screen 206 active. The amount of time can be based on how atypical user utilizes their email application. Possible emailapplication uses can include, but are not limited to, reading email,composing email, and managing email contacts. The mobile device can keepbacklighting active for an amount of time that can be considered typicalfor the use of the email application, and then, in order to conservebattery power, it can deactivate the backlighting. The backlighting maybe deactivated at a point in time when the user will no longer need toview the display (e.g., they are done checking their email).

Screen 281 is an example of an email message that can be shown ondisplay screen 206 if the user has activated the inbox control 284. Thebacklighting for display screen 206 can be activated for a period oftime to allow the user to read and review the screen 281, and then canbe deactivated (the display screen 206 can be dimmed as shown by screen282) to conserve battery power.

FIG. 3 is a flow diagram illustrating one example of a process 300 forcontext-sensitive control of the backlighting of a display on a mobiledevice. The process 300 begins by determining the mobile device activityand identifying the application being used on the mobile device 302. Aswas described with reference to FIGS. 2A-2G, when the user activates anapplication by selecting an application icon, the mobile device runs theselected application. The device can now be considered active, and thedevice backlight is activated 304 to allow the user improved visibilityof the information presented on the screen of the mobile device as theuser interacts with the mobile device, or interacts with an applicationrunning on the mobile device.

A backlight expiration time is then computed 306, using the applicationidentified application running on the mobile device as a factor. Thus,the amount of time that the backlight stays fully activated isdetermined at least in part based on the identity of the applicationrunning on the mobile device. For example, referring to FIGS. 2A-2G, acalculated backlight expiration time may be longer for an emailapplication than a calculated backlight expiration time for a phoneapplication.

In some implementations, the computed backlight expiration time can bebased on additional factors as well as on the active application runningon the device. For example, the computed backlight expiration time mayalso be based in part on user data acquired from other users of theapplication on mobile devices. For example, a service provider canprovide backlight expiration times for applications available on themobile device based upon past data of mobile device usage gathered froma multitude of mobile devices. As another example, the computedbacklight expiration time may also be based on preferences identified bythe user, such as information entered regarding specific applications(e.g., longer backlight expiration time preference for a text entryapplication), or a general preference (e.g., shorter backlightexpiration times to conserve battery power). The expiration time mayalso be based on a position of the device (e.g., vertical versushorizontal, with horizontal having a shorter expiration time under theassumption that the user has put the device down on a surface) asdetermined, for example, by an accelerometer, switch, and/or othermechanism in the device. Also, movement of the device, such asdetermined by an accelerometer in the device may indicate that thedevice is more likely to be in use, and thus will result in alengthening of the expiration time. Also, movement of the devicegeographically, rather than in terms of shaking, may be relevant, asmeasured by a GPS feature, to indicate that the device is in motion andperhaps less likely to be in use (e.g., because the user is busy walkingor driving). In addition, a light sensor, such as one provided with atelephone camera may be used to determine the ultimate need forbacklighting so that a backlight can run longer at night than it does inthe day. Similarly, a clock on a device may be used to infer that thedevice is in the dark (and thus lengthen the expiration time) or thedaytime light (and thus shorten expiration time).

In some implementations, the backlight expiration time can be stored ina database on the mobile device and accessed when the application isactivated. In other implementations, the backlight expiration time canbe stored in a database at a service provider, and provided to themobile device when a connection is made between the service provider andmobile device. This can allow for frequent updates of backlightexpiration times which can be beneficial when applications are updatedand/or added to the mobile device.

The process 300 checks if the backlight expiration time has expired atstep 308. If the backlight expiration time has expired, the devicebacklight is reduced at step 312. In some implementations, reducing thebacklight may include turning off the backlight completely. In otherimplementations, reducing the backlight may include reducing thebacklight output by 33%, 50%, 75%, or some other percentage.

Until the backlight expiration time has expired, the process 300 checkswhether there has been a change in mobile device activity 310. If nochange in activity has occurred, the process 300 returns to checking ifthe backlight expiration time has expired 308. If there has been achange in device activity before the backlight expiration time hasexpired, the process 300 continues by determining the mobile deviceactivity and identifying the application running on the mobile device302. A change in activity includes activity within the activeapplication, such as dialing another phone number, sending or receivinga text message, entering a new webpage address, scrolling on a currentlydisplayed webpage address, etc., and also includes activation of adifferent application.

Referring now to FIG. 4, the exterior appearance of an exemplary device400 that implements the context sensitive backlight control isillustrated. Briefly, and among other things, the device 400 includes aprocessor configured to determine the activity on the mobile device,identify a running application, activate the display backlight, computea backlight expiration time, and wait until the time has expired todeactivate the display backlighting.

In more detail, the hardware environment of the device 400 includes adisplay 401 for displaying text, images, and video to a user; a keyboard402 for entering text data and user commands into the device 400; apointing device 404 for pointing, selecting, and adjusting objectsdisplayed on the display 401; an antenna 405; a network connection 406;a camera 407; a microphone 409; and a speaker 410. Although the device400 includes an external antenna, it is anticipated that the device 400can instead or additionally include an internal antenna, which is notvisible to the user. The display 401 may include a backlight feature.The keyboard 402 may include a backlight feature—for example, the keypadarea may light up, the keys may be lighted, or the surface of the keysmay be lighted in some fashion (such as light outlining the number orletter on top of a key).

The display 401 displays video, graphics, images, and text that make upthe user interface for the software applications used by the device 400,and the operating system programs used to operate the device 400. Amongthe possible elements that may be displayed on the display 401 are a newmail indicator 411 that alerts a user to the presence of a new message;an active call indicator 412 that indicates that a telephone call isbeing received, placed, or is occurring; a data standard indicator 414that indicates the data standard currently being used by the device 400to transmit and receive data; a signal strength indicator 415, such assignal strength bars, that indicates a measurement of the strength of asignal received by the device 400 via the antenna 405; a battery lifeindicator 416 that indicates a measurement of the remaining batterylife; or a clock 417 that outputs the current time.

The display 401 may also show application icons representing variousapplications available to the user, such as a web browser applicationicon 419, a phone application icon 420, a search application icon 421, acontacts application icon 422, a mapping application icon 424, an emailapplication icon 425, or other application icons. In one exampleimplementation, the display 401 is a quarter video graphics array (QVGA)thin film transistor (TFT) liquid crystal display (LCD), capable of16-bit or better color.

A user uses the keyboard (or “keypad”) 402 to enter commands and data tooperate and control the operating system and applications that providefor backlight control of a display. The keyboard 402 includes standardkeyboard buttons or keys associated with alphanumeric characters, suchas keys 426 and 427 that are associated with the alphanumeric characters“Q” and “W” when selected alone, or are associated with the characters“*” and “1” when pressed in combination with key 429. A single key mayalso be associated with special characters or functions, includingunlabeled functions, based upon the state of the operating system orapplications invoked by the operating system. For example, when anapplication calls for the input of a numeric character, a selection ofthe key 427 alone may cause a “1” to be input.

In addition to keys traditionally associated with an alphanumerickeypad, the keyboard 402 also includes other special function keys, suchas an establish call key 430 that causes a received call to be answeredor a new call to be originated; a terminate call key 431 that causes thetermination of an active call; a drop down menu key 432 that causes amenu to appear within the display 401; a backwards navigation key 434that causes a previously accessed network address to be accessed again;a favorites key 435 that causes an active web page to be placed in abookmarks folder of favorite sites, or causes a bookmarks folder toappear; a home page key 436 that causes an application invoked on thedevice 400 to navigate to a predetermined network address; or other keysthat provide for multiple-way navigation, application selection, andpower and volume control.

The user uses the pointing device 404 to select and adjust graphics andtext objects displayed on the display 401 as part of the interactionwith and control of the device 400 and the applications invoked on thedevice 400. The pointing device 404 is any appropriate type of pointingdevice, and may be a joystick, a trackball, a touch-pad, a camera, avoice input device, a touch screen device implemented in combinationwith the display 401, or any other input device.

The antenna 405, which can be an external antenna or an internalantenna, is a directional or omni-directional antenna used for thetransmission and reception of radiofrequency (RF) signals that implementpoint-to-point radio communication, wireless local area network (LAN)communication, or location determination. The antenna 405 may facilitatepoint-to-point radio communication using the Specialized Mobile Radio(SMR), cellular, or Personal Communication Service (PCS) frequencybands, and may implement the transmission of data using any number ordata standards. For example, the antenna 405 may allow data to betransmitted between the device 400 and a base station using technologiessuch as Wireless Broadband (WiBro), Worldwide Interoperability forMicrowave ACCess (WiMAX), 3GPP Long Term Evolution (LTE), Ultra MobileBroadband (UMB), High Performance Radio Metropolitan Network (HIPERMAN),iBurst or High Capacity Spatial Division Multiple Access (HC-SDMA), HighSpeed OFDM Packet Access (HSOPA), High-Speed Packet Access (HSPA), HSPAEvolution, HSPA+, High Speed Upload Packet Access (HSUPA), High SpeedDownlink Packet Access (HSDPA), Generic Access Network (GAN), TimeDivision-Synchronous Code Division Multiple Access (TD-SCDMA),Evolution-Data Optimized (or Evolution-Data Only)(EVDO), TimeDivision-Code Division Multiple Access (TD-CDMA), Freedom Of MobileMultimedia Access (FOMA), Universal Mobile Telecommunications System(UMTS), Wideband Code Division Multiple Access (W-CDMA), Enhanced Datarates for GSM Evolution (EDGE), Enhanced GPRS (EGPRS), Code DivisionMultiple Access 3000 (CDMA2000), Wideband Integrated Dispatch EnhancedNetwork (WiDEN), High-Speed Circuit-Switched Data (HSCSD), GeneralPacket Radio Service (GPRS), Personal Handy-Phone System (PHS), CircuitSwitched Data (CSD), Personal Digital Cellular (PDC), CDMAone, DigitalAdvanced Mobile Phone System (D-AMPS), Integrated Digital EnhancedNetwork (IDEN), Global System for Mobile communications (GSM), DataTAC,Mobitex, Cellular Digital Packet Data (CDPD), Hicap, Advanced MobilePhone System (AMPS), Nordic Mobile Phone (NMP), Autoradiopuhelin (ARP),Autotel or Public Automated Land Mobile (PALM), Mobiltelefonisystem D(MTD), Offentlig Landmobil Telefoni (OLT), Advanced Mobile TelephoneSystem (AMTS), Improved Mobile Telephone Service (IMTS), MobileTelephone System (MTS), Push-To-Talk (PTT), or other technologies.Communication via W-CDMA, HSUPA, GSM, GPRS, and EDGE networks may occur,for example, using a QUALCOMM® MSM7200A chipset with a QUALCOMM®RTR6285™ transceiver and PM7540™ power management circuit.

The wireless or wired computer network connection 306 may be a modemconnection, a local-area network (LAN) connection including theEthernet, or a broadband wide-area network (WAN) connection such as adigital subscriber line (DSL), cable high-speed internet connection,dial-up connection, T-1 line, T-3 line, fiber optic connection, orsatellite connection. The network connection 306 may connect to a LANnetwork, a corporate or government WAN network, the Internet, atelephone network, or other network. The network connection 306 uses awired or wireless connector. Example wireless connectors include, forexample, an INFRARED DATA ASSOCIATION (IrDA) wireless connector, a WiFiwireless connector, an optical wireless connector, an INSTITUTE OFELECTRICAL AND ELECTRONICS ENGINEERS (IEEE) Standard 802.11 wirelessconnector, a BLUETOOTH wireless connector (such as a BLUETOOTH version1.2 or 3.0 connector), a near field communications (NFC) connector, anorthogonal frequency division multiplexing (OFDM) ultra wide band (UWB)wireless connector, a time-modulated ultra wide band (TM-UWB) wirelessconnector, or other wireless connector. Example wired connectorsinclude, for example, an IEEE-1394 FIREWIRE connector, a UniversalSerial Bus (USB) connector (including a mini-B USB interface connector),a serial port connector, a parallel port connector, or other wiredconnector. In another implementation, the functions of the networkconnection 306 and the antenna 305 are integrated into a singlecomponent.

The camera 407 allows the device 400 to capture digital images, and maybe a scanner, a digital still camera, a digital video camera, or otherdigital input device. In one example implementation, the camera 407 is a3 mega-pixel (MP) camera that utilizes a complementary metal-oxidesemiconductor (CMOS).

The microphone 409 allows the device 400 to capture sound, and may be anomni-directional microphone, a unidirectional microphone, abi-directional microphone, a shotgun microphone, or other type apparatusthat converts sound to an electrical signal. The microphone 409 may beused to capture sound generated by a user, for example when the user isspeaking to another user during a telephone call via the device 400.Conversely, the speaker 410 allows the device to convert an electricalsignal into sound, such as a voice from another user generated by atelephone application program, or a ring tone generated from a ring toneapplication program. Furthermore, although the device 400 is illustratedin FIG. 4 as a handheld device, in further implementations the device400 may be a laptop, a workstation, a midrange computer, a mainframe, anembedded system, telephone, desktop PC, a tablet computer, a PDA, orother type of computing device.

FIG. 5 is a block diagram illustrating an internal architecture 500 ofthe device 400. The architecture includes a central processing unit(CPU) 501 where the computer instructions that comprise an operatingsystem or an application are processed; a display interface 502 thatprovides a communication interface and processing functions forrendering video, graphics, images, and texts on the display 401,provides a set of built-in controls (such as buttons, text and lists),and supports diverse screen sizes; a keyboard interface 504 thatprovides a communication interface to the keyboard 402; a pointingdevice interface 505 that provides a communication interface to thepointing device 404; an antenna interface 506 that provides acommunication interface to the antenna 405; a network connectioninterface 507 that provides a communication interface to a network overthe computer network connection 406; a camera interface 508 thatprovides a communication interface and processing functions forcapturing digital images from the camera 407; a sound interface 509 thatprovides a communication interface for converting sound into electricalsignals using the microphone 409 and for converting electrical signalsinto sound using the speaker 410; a random access memory (RAM) 510 wherecomputer instructions and data are stored in a volatile memory devicefor processing by the CPU 501; a read-only memory (ROM) 511 whereinvariant low-level systems code or data for basic system functions suchas basic input and output (I/O), startup, or reception of keystrokesfrom the keyboard 402 are stored in a non-volatile memory device; astorage medium 512 or other suitable type of memory (e.g. such as RAM,ROM, programmable read-only memory (PROM), erasable programmableread-only memory (EPROM), electrically erasable programmable read-onlymemory (EEPROM), magnetic disks, optical disks, floppy disks, harddisks, removable cartridges, flash drives), where the files thatcomprise an operating system 514, application programs 515 (including,for example, a web browser application, a widget or gadget engine, andor other applications, as necessary) and data files 516 are stored; anavigation module 517 that provides a real-world or relative position orgeographic location of the device 400; a power source 519 that providesan appropriate alternating current (AC) or direct current (DC) to powercomponents; and a telephony subsystem 520 that allows the device 400 totransmit and receive sound over a telephone network. The constituentdevices and the CPU 501 communicate with each other over a bus 521.

The CPU 501 is one of a number of computer processors, includingmicroprocessors, microcontrollers, and other types of integrated circuitcontroller chips. In one arrangement, the computer CPU 501 is more thanone processing unit. The RAM 510 interfaces with the computer bus 521 soas to provide quick RAM storage to the CPU 501 during the execution ofsoftware programs such as the operating system application programs, anddevice drivers. More specifically, the CPU 501 loads computer-executableprocess steps from the storage medium 512 or other media into a field ofthe RAM 510 in order to execute software programs. Data is stored in theRAM 510, where the data is accessed by the computer CPU 501 duringexecution. In one example configuration, the device 400 includes atleast 128 MB of RAM, and 256 MB of flash memory.

The storage medium 512 itself may include a number of physical driveunits, such as a redundant array of independent disks (RAID), a floppydisk drive, a flash memory, a USB flash drive, an external hard diskdrive, thumb drive, pen drive, key drive, a High-Density DigitalVersatile Disc (HD-DVD) optical disc drive, a Blu-Ray optical discdrive, or a Holographic Digital Data Storage (HDDS) optical disc drive,an external mini-dual in-line memory module (DIMM) synchronous dynamicrandom access memory (SDRAM), or an external micro-DIMM SDRAM. Suchcomputer readable storage media allow the device 400 to accesscomputer-executable process steps, application programs and the like,stored on removable and non-removable memory media, to off-load datafrom the device 400, or to upload data onto the device 400.

A computer program product is tangibly embodied in storage medium 512, amachine-readable storage medium. The computer program product includesinstructions that, when read by a machine, operate to cause a dataprocessing module to store application dependent backlight activationexpiration times in the mobile device. In some embodiments, the computerprogram product includes instructions that determine the activity on themobile device, identify a running application, activate the displaybacklight, compute a backlight expiration time, check applicationstatus, and wait until the time has expired to deactivate the displaybacklighting.

The operating system 514 may be a LINUX-based operating system such asthe GOOGLE mobile device platform; APPLE MAC OS X; MICROSOFT WINDOWSNT/WINDOWS 2000/WINDOWS XP/WINDOWS MOBILE; a variety of UNIX-flavoredoperating systems; or a proprietary operating system for computers orembedded systems. The application development platform or framework forthe operating system 414 may be: BINARY RUNTIME ENVIRONMENT FOR WIRELESS(BREW); JAVA Platform, Micro Edition (JAVA ME) or JAVA 2 Platform, MicroEdition (J2ME) using the SUN MICROSYSTEMS JAVASCRIPT programminglanguage; PYTHON™, FLASH LITE, or MICROSOFT .NET Compact, or anotherappropriate environment.

The device stores computer-executable code for the operating system 514,and the application programs 515 such as an email, instant messaging, avideo service application, a mapping application word processing,spreadsheet, presentation, gaming, mapping, web browsing, JAVASCRIPTengine, or other applications. For example, one implementation may allowa user to access the GOOGLE GMAIL email application, the GOOGLE TALKinstant messaging application, a YOUTUBE video service application, aGOOGLE MAPS or GOOGLE EARTH mapping application, or a GOOGLE PICASAimaging editing and presentation application. The application programs415 may also include a widget or gadget engine, such as a TAFRI™ widgetengine, a MICROSOFT gadget engine such as the WINDOWS SIDEBAR gadgetengine or the KAPSULES™ gadget engine, a YAHOO! widget engine such asthe KONFABULTOR™ widget engine, the APPLE DASHBOARD widget engine, theGOOGLE gadget engine, the KLIPFOLIO widget engine, an OPERA™ widgetengine, the WIDSETS™ widget engine, a proprietary widget or gadgetengine, or other widget or gadget engine the provides host systemsoftware for a physically-inspired applet on a desktop.

Although it is possible to provide for backlight control using theabove-described implementation, it is also possible to implement thefunctions according to the present disclosure as a dynamic link library(DLL), or as a plug-in to other application programs such as an Internetweb-browser such as the FOXFIRE web browser, the APPLE® SAFARI® webbrowser or the MICROSOFT® INTERNET EXPLORER® web browser.

The navigation module 517 may determine an absolute or relative positionof the device, such as by using the Global Positioning System (GPS)signals, the GLObal NAvigation Satellite System (GLONASS), the Galileopositioning system, the Beidou Satellite Navigation and PositioningSystem, an inertial navigation system, a dead reckoning system, or byaccessing address, internet protocol (IP) address, or locationinformation in a database. The navigation module 517 may also be used tomeasure angular displacement, orientation, or velocity of the device400, such as by using one or more accelerometers.

FIG. 6 is a block diagram illustrating exemplary components of theoperating system 514 used by the device 400, in the case where theoperating system 414 is the GOOGLE mobile device platform The operatingsystem 514 invokes multiple processes, while ensuring that theassociated phone application is responsive, and that waywardapplications do not cause a fault (or “crash”) of the operating system.Using task switching, the operating system 514 allows for the switchingof applications while on a telephone call, without losing the state ofeach associated application. The operating system 514 may use anapplication framework to encourage reuse of components, and provide ascalable user experience by combining pointing device and keyboardinputs and by allowing for pivoting. Thus, the operating system canprovide a rich graphics system and media experience, while using anadvanced, standards-based web browser.

The operating system 514 can generally be organized into six components:a kernel 600, libraries 601, an operating system runtime 602,application libraries 604, system services 605, and applications 606.The kernel 600 includes a display driver 607 that allows software suchas the operating system 514 and the application programs 515 to interactwith the display 401 via the display interface 502; a camera driver 609that allows the software to interact with the camera 407 via the camerainterface 508; a BLUETOOTH® driver 610; a M-Systems driver 611; a binder(IPC) driver 612; a USB driver 614; a keypad driver 615 that allows thesoftware to interact with the keyboard 402 via the keyboard interface504; a WiFi driver 616; audio drivers 617 that allow the software tointeract with the microphone 409 and the speaker 410 via the soundinterface 509; and a power management component 619 that allows thesoftware to interact with and manage the power source 519.

The BLUETOOTH driver, which in one implementation is based on the BlueZBLUETOOTH stack for LINUX-based operating systems, provides profilesupport for headsets and hands-free devices, dial-up networking,personal area networking (PAN), or audio streaming (such as by AdvanceAudio Distribution Profile (A2DP) or Audio/Video Remote Control Profile(AVRCP). The BLUETOOTH driver provides JAVA bindings for scanning,pairing and unpairing, and service queries.

The libraries 601 include a media framework 620 that supports standardvideo, audio and still-frame formats (such as Moving Picture ExpertsGroup (MPEG)-4, H.264, MPEG-1 Audio Layer 5 (MP3), Advanced Audio Coding(AAC), Adaptive Multi-Rate (AMR), Joing Photographic Experts Group(JPEG), and others) using an efficient JAVA® Application ProgrammingInterface (API) layer; a surface manager 621; a simple graphics library(SGL) 622 for two-dimensional application drawing; an Open GraphicsLibrary for Embedded Systems (OpenGL ES) 624 for gaming andthree-dimensional rendering; a C standard library (Libc) 625; aLibWebCorelibrary 626; a FreeType library 627; an SSL 629; and an SQLitelibrary 630.

The operating system runtime 602, which generally makes up a MobileInformation Device Profile (MIDP) runtime, includes core JAVA libraries631, and a Dalvik virtual machine 632. The Dalvik virtual machine 632 isa custom, virtual machine that runs a customized file format (.DEX).

The operating system 514 can also include Mobile Information DeviceProfile (MIDP) components such as the MIDP JAVA Specification Requests(JSRs) components, MIDP runtime, and MIDP applications as shown in FIG.6. The MIDP components can support MIDP applications running on thedevice 400.

With regard to graphics rendering, a system-wide composer managessurfaces and a frame buffer and handles window transitions, using theOpenGL ES 624 and two-dimensional hardware accelerators for itscompositions.

The Dalvik virtual machine 632 may be used with an embedded environment,since it uses runtime memory very efficiently, implements aCPU-optimized bytecode interpreter, and supports multiple virtualmachine processes per device. The custom file format (.DEX) is designedfor runtime efficiency, using a shared constant pool to reduce memory,read-only structures to improve cross-process sharing, concise, andfixed-width instructions to reduce parse time, thereby allowinginstalled applications to be translated into the custom file formal atbuild-time. The associated bytecodes are designed for quickinterpretation, since register-based instead of stack-based instructionsreduce memory and dispatch overhead, since using fixed widthinstructions simplifies parsing, and since the 16-bit code unitsminimize reads.

The application libraries 604 include a view system 634, a resourcemanager 635, and content providers 637. The system services 605 includesa status bar 639; an application launcher 640; a package manager 641that maintains information for all installed applications; a telephonymanager 642 that provides an application level JAVA interface to thetelephony subsystem 620; a notification manager 644 that allows allapplications access to the status bar and on-screen notifications; awindow manager 645 that allows multiple applications with multiplewindows to share the display 401; and an activity manager 646 that runseach application in a separate process, manages an application lifecycle, and maintains a cross-application history.

The applications 606 include a home application 647, a dialerapplication 649, a contacts application 650, a browser application 651,and backlight control application 652.

The telephony manager 642 provides event notifications (such as phonestate, network state, Subscriber Identity Module (SIM) status, orvoicemail status), allows access to state information (such as networkinformation, SIM information, or voicemail presence), initiates calls,and queries and controls the call state. The browser application 651renders web pages in a full, desktop-like manager, including navigationfunctions. Furthermore, the browser application 651 allows singlecolumn, small screen rendering, and provides for the embedding of HTMLviews into other applications.

FIG. 7 is a block diagram illustrating exemplary processes implementedby the operating system kernel 600. Generally, applications and systemservices run in separate processes, where the activity manager 646 runseach application in a separate process and manages the application lifecycle. The applications run in their own processes, although manyactivities or services can also run in the same process. Processes arestarted and stopped as needed to run an application's components, andprocesses may be terminated to reclaim resources. Each application isassigned its own process, whose name is the application's package name,and individual parts of an application can be assigned another processname.

The persistent core system services, such as the surface manager 716,the window manager 714, or the activity manager 710, are hosted bysystem processes, although application processes, such processesassociated with the dialer application 721, may also be persistent. Theprocesses implemented by the operating system kernel 600 may generallybe categorized as system services processes 701, dialer processes 702,browser processes 704, and maps processes 705. The system servicesprocesses 701 include status bar processes 706 associated with thestatus bar 539; application launcher processes 707 associated with theapplication launcher 540; package manager processes 709 associated withthe package manager 641; activity manager processes 710 associated withthe activity manager 646; resource manager processes 711 associated witha resource manager that provides access to graphics, localized strings,and XML layout descriptions; notification manger processes 712associated with the notification manager 644; window manager processes714 associated with the window manager 645; core JAVA librariesprocesses 715 associated with the core JAVA libraries 631; surfacemanager processes 716 associated with the surface manager 621; Dalvikvirtual machine processes 717 associated with the Dalvik virtual machine632, LIBC processes 719 associated with the Libc library 625; andbacklight control processes 720 associated with the backlight controlapplication 652.

The dialer processes 702 include dialer application processes 721associated with the dialer application 649; telephony manager processes722 associated with the telephony manager 642; core JAVA librariesprocesses 724 associated with the core JAVA libraries 631; Dalvikvirtual machine processes 725 associated with the Dalvik Virtual machine632; and Libc processes 726 associated with the Libc library 625. Thebrowser processes 704 include browser application processes 727associated with the browser application 651; core JAVA librariesprocesses 729 associated with the core JAVA libraries 631; Dalvikvirtual machine processes 730 associated with the Dalvik virtual machine632; LIBWEBCORE processes 731 associated with the LibWebCore library626; and Libc processes 732 associated with the Libc library 625.

The maps processes 705 include maps application processes 734, core JAVAlibraries processes 735, Dalvik virtual machine processes 736, and Libcprocesses 737. Notably, some processes, such as the Dalvik virtualmachine processes, may exist within one or more of the systems servicesprocesses 701, the dialer processes 702, the browser processes 704, andthe maps processes 705.

FIG. 8 shows an example of a generic computer device 800 and a genericmobile computer device 850, which may be used with the techniquesdescribed here. Computing device 800 is intended to represent variousforms of digital computers, such as laptops, desktops, workstations,personal digital assistants, servers, blade servers, mainframes, andother appropriate computers. Computing device 850 is intended torepresent various forms of mobile devices, such as personal digitalassistants, cellular telephones, smartphones, and other similarcomputing devices. The components shown here, their connections andrelationships, and their functions, are meant to be exemplary only, andare not meant to limit implementations of the inventions describedand/or claimed in this document.

Computing device 800 includes a processor 802, memory 804, a storagedevice 806, a high-speed interface 808 connecting to memory 804 andhigh-speed expansion ports 810, and a low speed interface 812 connectingto low speed bus 814 and storage device 806. Each of the components 802,804, 806, 808, 810, and 812, are interconnected using various busses,and may be mounted on a common motherboard or in other manners asappropriate. The processor 802 can process instructions for executionwithin the computing device 800, including instructions stored in thememory 804 or on the storage device 806 to display graphical informationfor a GUI on an external input/output device, such as display 816coupled to high speed interface 808. In other implementations, multipleprocessors and/or multiple buses may be used, as appropriate, along withmultiple memories and types of memory. Also, multiple computing devices800 may be connected, with each device providing portions of thenecessary operations (e.g., as a server bank, a group of blade servers,or a multi-processor system).

The memory 804 stores information within the computing device 800. Inone implementation, the memory 804 is a volatile memory unit or units.In another implementation, the memory 804 is a non-volatile memory unitor units. The memory 804 may also be another form of computer-readablemedium, such as a magnetic or optical disk.

The storage device 806 is capable of providing mass storage for thecomputing device 800. In one implementation, the storage device 806 maybe or contain a computer-readable medium, such as a floppy disk device,a hard disk device, an optical disk device, or a tape device, a flashmemory or other similar solid state memory device, or an array ofdevices, including devices in a storage area network or otherconfigurations. A computer program product can be tangibly embodied inan information carrier. The computer program product may also containinstructions that, when executed, perform one or more methods, such asthose described above. The information carrier is a computer- ormachine-readable medium, such as the memory 804, the storage device 806,memory on processor 802, or a propagated signal.

The high speed controller 808 manages bandwidth-intensive operations forthe computing device 800, while the low speed controller 812 manageslower bandwidth-intensive operations. Such allocation of functions isexemplary only. In one implementation, the high-speed controller 808 iscoupled to memory 804, display 816 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 810, which may acceptvarious expansion cards (not shown). In the implementation, low-speedcontroller 812 is coupled to storage device 806 and low-speed expansionport 814. The low-speed expansion port, which may include variouscommunication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet)may be coupled to one or more input/output devices, such as a keyboard,a pointing device, a scanner, or a networking device such as a switch orrouter, e.g., through a network adapter.

The computing device 800 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 820, or multiple times in a group of such servers. Itmay also be implemented as part of a rack server system 824. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 822. Alternatively, components from computing device 800 may becombined with other components in a mobile device (not shown), such asdevice 850. Each of such devices may contain one or more of computingdevice 800, 850, and an entire system may be made up of multiplecomputing devices 800, 850 communicating with each other.

Computing device 850 includes a processor 852, memory 864, aninput/output device such as a display 854, a communication interface866, and a transceiver 868, among other components. The device 850 mayalso be provided with a storage device, such as a microdrive or otherdevice, to provide additional storage. Each of the components 850, 852,864, 854, 866, and 868, are interconnected using various buses, andseveral of the components may be mounted on a common motherboard or inother manners as appropriate.

The processor 852 can execute instructions within the computing device850, including instructions stored in the memory 864. The processor maybe implemented as a chipset of chips that include separate and multipleanalog and digital processors. The processor may provide, for example,for coordination of the other components of the device 850, such ascontrol of user interfaces, applications run by device 850, and wirelesscommunication by device 850.

Processor 852 may communicate with a user through control interface 858and display interface 856 coupled to a display 854. The display 854 maybe, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display)or an OLED (Organic Light Emitting Diode) display, or other appropriatedisplay technology. The display interface 856 may comprise appropriatecircuitry for driving the display 854 to present graphical and otherinformation to a user. The control interface 858 may receive commandsfrom a user and convert them for submission to the processor 852. Inaddition, an external interface 862 may be provide in communication withprocessor 852, so as to enable near area communication of device 850with other devices. External interface 862 may provide, for example, forwired communication in some implementations, or for wirelesscommunication in other implementations, and multiple interfaces may alsobe used.

The memory 864 stores information within the computing device 850. Thememory 864 can be implemented as one or more of a computer-readablemedium or media, a volatile memory unit or units, or a non-volatilememory unit or units. Expansion memory 874 may also be provided andconnected to device 850 through expansion interface 872, which mayinclude, for example, a SIMM (Single In Line Memory Module) cardinterface. Such expansion memory 874 may provide extra storage space fordevice 850, or may also store applications or other information fordevice 850. Specifically, expansion memory 874 may include instructionsto carry out or supplement the processes described above, and mayinclude secure information also. Thus, for example, expansion memory 874may be provide as a security module for device 850, and may beprogrammed with instructions that permit secure use of device 850. Inaddition, secure applications may be provided via the SIMM cards, alongwith additional information, such as placing identifying information onthe SIMM card in a non-hackable manner.

The memory may include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is acomputer- or machine-readable medium, such as the memory 864, expansionmemory 874, memory on processor 852, or a propagated signal that may bereceived, for example, over transceiver 868 or external interface 862.

Device 850 may communicate wirelessly through communication interface866, which may include digital signal processing circuitry wherenecessary. Communication interface 866 may provide for communicationsunder various modes or protocols, such as GSM voice calls, SMS, EMS, orMMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.Such communication may occur, for example, through radio-frequencytransceiver 868. In addition, short-range communication may occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, GPS (Global Positioning System) receiver module 870 mayprovide additional navigation- and location-related wireless data todevice 850, which may be used as appropriate by applications running ondevice 850.

Device 850 may also communicate audibly using audio codec 860, which mayreceive spoken information from a user and convert it to usable digitalinformation. Audio codec 860 may likewise generate audible sound for auser, such as through a speaker, e.g., in a handset of device 850. Suchsound may include sound from voice telephone calls, may include recordedsound (e.g., voice messages, music files, etc.) and may also includesound generated by applications operating on device 850.

The computing device 850 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as acellular telephone 880. It may also be implemented as part of asmartphone 882, personal digital assistant, or other similar mobiledevice.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications may be made without departing fromthe spirit and scope of the invention. Accordingly, other embodimentsare within the scope of the following claims.

What is claimed is:
 1. A method comprising: while a backlight of akeyboard of a computing device is powered off, detecting, by thecomputing device, a user input provided at the keyboard of the computingdevice, wherein the computing device is a laptop computer; andresponsive to detecting the user input: activating, by the computingdevice, the backlight of the keyboard at a first power level;determining, by the computing device and based on a user-provided inputidentifying a preference, a first amount of time a backlight of thekeyboard is to remain powered on; determining, by the computing device,a second amount of time the backlight of the keyboard is to remain atthe first power level, wherein the amount of time the backlight of thekeyboard is to remain at the first power level is less than the amountof time the backlight of the keyboard is to remain powered on, andwherein the first power level corresponds to a first brightness level ofthe backlight of the keyboard; after the second amount of time haselapsed, setting, by the computing device, an amount of power for thebacklight of the keyboard to a second power level, wherein the secondpower level is less than the first power level; and wherein the secondpower level corresponds to a second brightness level of the backlight ofthe keyboard that is lower than the first brightness level; and afterthe first amount of time has elapsed, powering off the backlight of thekeyboard.
 2. The method of claim 1, further comprising: while abacklight of a display of the computing device is powered off,detecting, by one or more sensors of the computing device, that thecomputing device was picked up; and responsive to detecting that thecomputing device was picked up, activating the backlight of the displayof the computing device.
 3. The method of claim 1, wherein the userinput is a first user input, the method further comprising: prior to thesecond amount of time elapsing, receiving, by the computing device,second user input; and responsive to receiving the second user input,resetting a starting time for determining whether the first amount oftime and the second amount of time have elapsed.
 4. The method of claim1, wherein the user input is a first user input, the method furthercomprising: after the second amount of time has elapsed and prior to thefirst amount of time elapsing, receiving, by the computing device, asecond user input; and responsive to receiving the second user input,setting, by the computing device, the amount of power for the backlightof the keyboard to the first power level.
 5. The method of claim 4,further comprising: responsive to receiving the second user input:determining, by the computing device, an amount of time that elapsedbetween when the second amount of time elapsed and a time at which thesecond user input was received; and adjusting, by the computing deviceand based on the amount of time that elapsed, the first amount of timethe backlight of the keyboard is to remain powered on, wherein an amountby which the first amount of time is adjusted is inversely related tothe amount of time that elapsed between when the second amount of timeelapsed and a time at which the second user input was received.
 6. Themethod of claim 1, method further comprising: determining, by thecomputing device, a first amount of time a backlight of a display of thecomputing device is to remain powered on; determining, by the computingdevice; a second amount of time the backlight of the display is toremain at a third power level, wherein the second amount of time thebacklight of the display is to remain at the third power level is lessthan the first amount of time the backlight of the display is to remainpowered on, and wherein the third power level corresponds to a firstbrightness level of the backlight of the display; after the secondamount of time the backlight of the display is to remain at the thirdpower level has elapsed, setting, by the computing device, an amount ofpower for the backlight of the display to a fourth power level, whereinthe fourth power level corresponds to a second brightness level of thebacklight of the display that is lower than the first brightness levelof the backlight of the display; and after the first amount of time thebacklight of the display is to remain powered on has elapsed, poweringoff the backlight of the display.
 7. The method of claim 6, wherein thefirst amount of time the backlight of the display is to remain poweredon is different from the first amount of time the backlight of thekeyboard is to remain powered on.
 8. A device comprising: a keyboardhaving a backlight; one or more processors; and a memory that storesinstructions that, when executed by the one or more processors, causethe one or more processors to: while the backlight of the keyboard ispowered off, receive a user input; and responsive to receiving the userinput: activate the backlight of the keyboard at a first power level;determine, based on a user-provided input identifying a preference, afirst amount of time the backlight of the keyboard is to remain poweredon; determine, based on the first amount of time, a second amount oftime the backlight of the keyboard is to remain at the first powerlevel, wherein the amount of time the backlight of the keyboard is toremain at the first power level is less than the amount of time thebacklight of the keyboard is to remain powered on, and wherein the firstpower level corresponds to a first brightness level of the backlight ofthe keyboard; after the second amount of time has elapsed, set an amountof power for the backlight of the keyboard to a second power level;wherein the second power level corresponds to a second brightness levelof the backlight of the keyboard that is lower than the first brightnesslevel; and after the first amount of time has elapsed, power off thebacklight of the keyboard.
 9. The device of claim 8, further comprising:a display having a backlight; one or more sensors that detect movementof the device, wherein the instructions further cause the one or moreprocessors to: while the backlight of the display is powered off,determine, based on the movement detected by the one or more sensors,that the device was picked up; and responsive to detecting that thedevice was picked up, activate the backlight of the display.
 10. Thedevice of claim 8, wherein the user input is a first user input, andwherein the instructions further cause the one or more processors to:after the second amount of time has elapsed and prior to the firstamount of time elapsing, receive a second user input; and responsive toreceiving the second user input, set the amount of power for thebacklight of the keyboard to the first power level.
 11. The device ofclaim 10, wherein the instructions further cause the one or moreprocessors to: responsive to receiving the second user input: determinean amount of time that elapsed between when the second amount of timeelapsed and a time at which the second user input was received; andadjust, based on the amount of time that elapsed, the first amount oftime the backlight of the keyboard is to remain powered on, wherein anamount by which the first amount of time is adjusted is inverselyrelated to the amount of time that elapsed between when the secondamount of time elapsed and a time at which the second user input wasreceived.
 12. The device of claim 8, further comprising: a displayhaving a backlight, wherein the instructions further cause the one ormore processors to: determine a first amount of time the backlight ofthe display is to remain powered on; determine a second amount of timethe backlight of the display is to remain at a third power level,wherein the second amount of time the backlight of the display is toremain at the third power level is less than the amount of time thebacklight of the display is to remain powered on, and wherein the thirdpower level corresponds to a first brightness level of the backlight ofthe display; after the second amount of time the backlight of thedisplay is to remain at the third power level has elapsed, set an amountof power for the backlight of the display to a fourth power level,wherein the fourth power level corresponds to a second brightness levelof the backlight of the display that is lower than the first brightnesslevel of the backlight of the display; and after the first amount oftime the backlight of the display is to remain powered on has elapsed,power off the backlight of the display.
 13. The device of claim 8,wherein the user input is detected by the keyboard.
 14. A non-transitorycomputer-readable storage medium encoded with instructions that, whenexecuted, cause one or more processors of a device to: while a backlightof a keyboard of the device is powered off, receive a user inputprovided at the keyboard; and responsive to receiving the user input:activate the backlight of the keyboard at a first power level;determine, based on a user-provided input identifying a preference, afirst amount of time the backlight of the keyboard is to remain poweredon; determine, based on the first amount of time, a second amount oftime the backlight of the keyboard is to remain at the first powerlevel, wherein the amount of time the backlight of the keyboard is toremain at the first power level is less than the amount of time thebacklight of the keyboard is to remain powered on, and wherein the firstpower level corresponds to a first brightness level of the backlight ofthe keyboard; after the second amount of time has elapsed, set an amountof power for the backlight of the keyboard to a second power level,wherein the second power level corresponds to a second brightness levelof the backlight of the keyboard that is lower than the first brightnesslevel; and after the first amount of time has elapsed, power off thebacklight of the keyboard.
 15. The non-transitory computer-readablestorage medium of claim 14, wherein the instructions further cause theone or more processors to: while a backlight of a display of the deviceis powered off, determine, based on movement detected by one or moresensors of the device, that the device was picked up; and responsive todetecting that the device was picked up, activate the backlight of thedisplay.
 16. The non-transitory computer-readable storage medium ofclaim 14, wherein the user input is a first user input, and wherein theinstructions further cause the one or more processors to: after thesecond amount of time has elapsed and prior to the first amount of timeelapsing, receive a user second input; and responsive to receiving theuser second input, set the amount of power for the backlight of thekeyboard to the first power level.
 17. The non-transitorycomputer-readable storage medium of claim 16, wherein the instructionsfurther cause the one or more processors to: responsive to receiving thesecond user input: determine an amount of time that elapsed between whenthe second amount of time elapsed and a time at which the second userinput was received; and adjust, based on the amount of time thatelapsed, the first amount of time the backlight of the keyboard is toremain powered on, wherein an amount by which the first amount of timeis adjusted is inversely related to the amount of time that elapsedbetween when the second amount of time elapsed and a time at which theuser second input was received.
 18. The non-transitory computer-readablestorage medium of claim 14, wherein the instructions further cause theone or more processors to: determine a first amount of time a backlightof a display of the device is to remain powered on; determine a secondamount of time the backlight of the display is to remain at a thirdpower level, wherein the second amount of time the backlight of thedisplay is to remain at the third power level is less than the amount oftime the backlight of the display is to remain powered on, and whereinthe third power level corresponds to a first brightness level of thebacklight of the display; after the second amount of time the backlightof the display is to remain at the third power level has elapsed, set anamount of power for the backlight of the display to a fourth powerlevel, wherein the fourth power level corresponds to a second brightnesslevel of the backlight of the display that is lower than the firstbrightness level of the backlight of the display; and after the firstamount of time the backlight of the display is to a powered on haselapsed, power off the backlight of the display.